# Create a channel publication schedule

Creates a new schedule for a product channel publication. The schedule is created in pending status.

Endpoint: POST /v1/products/{productUuid}/publications/{publicationUuid}/schedules
Version: 1.1.0
Security: Bearer

## Path parameters:

  - `productUuid` (string, required)
    The unique identifier of the product.

  - `publicationUuid` (string, required)
    The unique identifier of the product channel publication.

## Request fields (application/json):

  - `scheduledAt` (string, required)
    The date and time when the transition should be executed.
    Example: "2025-11-23T14:15:22.123456Z"

  - `transition` (string, required)
    The lifecycle transition to schedule.
    Enum: "publish", "unpublish"

## Response 201 fields (application/json):

  - `uuid` (string, required)
    Unique identifier for this schedule.

  - `productUuid` (string, required)
    Identifier of the product this schedule belongs to.

  - `productChannelPublicationUuid` (string, required)
    Identifier of the channel publication this schedule targets.

  - `createdAt` (string, required)
    Timestamp when this schedule was created.
    Example: "2025-11-23T14:15:22.123456Z"

  - `updatedAt` (string, required)
    Timestamp when this schedule was last modified.
    Example: "2025-11-23T14:15:22.123456Z"

  - `scheduledAt` (string, required)
    The date and time when the transition is scheduled to execute.
    Example: "2025-11-23T14:15:22.123456Z"

  - `transition` (string, required)
    The lifecycle transition that will be applied.
    Enum: "publish", "unpublish"

  - `status` (string, required)
    Current status of this schedule.
    Enum: "pending", "completed", "cancelled", "failed"

  - `failedReason` (string,null, required)
    Reason for failure if the schedule did not complete successfully. Null if not failed.

## Response 401 fields (application/problem+json):

  - `type` (string,null)

  - `title` (string,null)

  - `status` (integer,null)

  - `detail` (string,null)

  - `instance` (string,null)

## Response 403 fields (application/problem+json):

  - `type` (string,null)

  - `title` (string,null)

  - `status` (integer,null)

  - `detail` (string,null)

  - `instance` (string,null)

  - `correlationId` (string,null)

## Response 409 fields (application/problem+json):

  - `type` (string,null)

  - `title` (string,null)

  - `status` (integer,null)

  - `detail` (string,null)

  - `instance` (string,null)

  - `correlationId` (string,null)

## Response 422 fields (application/problem+json):

  - `errors` (array)

  - `errors.code` (string, required)

  - `errors.message` (string, required)

  - `type` (string,null)

  - `title` (string,null)

  - `status` (integer,null)

  - `detail` (string,null)

  - `instance` (string,null)

  - `correlationId` (string,null)

## Response 500 fields (application/problem+json):

  - `type` (string,null)

  - `title` (string,null)

  - `status` (integer,null)

  - `detail` (string,null)

  - `instance` (string,null)

  - `correlationId` (string,null)


